package entities;

import ejb.Verwaltung;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;


@ManagedBean
@SessionScoped
public class Forum implements Serializable {
    private static final long serialVersionUID = 1L;
    private String name;
    private Thema themaAktiv;
    private List<Thema> themen;
    @EJB
    private Verwaltung verwaltung;

    public Forum() {
        name = "Diskusionplattform";
        themen = new ArrayList();
    }
    

    
    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
    
    @Override
    public String toString() {
        return name;
    }    

    public List<Thema> getThemen() {
        refresh();
        return themen;
    }
    
    public void addThema(Thema thema) {
        try {
            verwaltung.persist(thema);
        }
        catch (Exception e) {
            System.out.println(e);
        }
    }
    
    public void addNachrichtToThema(Nachricht n) {
        try {
            getThemaAktiv().addNachricht(n, verwaltung);
            verwaltung.merge(getThemaAktiv());
        }
        catch (Exception e) {
            System.out.println(e);
        }
    }

    public Thema getThemaAktiv() {
        return themaAktiv;
    }

    public void setThemaAktiv(Thema themaAktiv) {
        this.themaAktiv = themaAktiv;
    }
    
    private void refresh() {
        themen = verwaltung.getThemen();
    }
    
    public String zurNachricht(Thema t) {
        themaAktiv=t;
        return "thema";
    }
}
